example1 {
  local f = (x) -> new Dynamic {}
  result = (f) { x -> prop = x + 1 }.apply(1)
}

example2 {
  local f = (x, y) -> new Dynamic {}
  result = (f) { a, b -> prop = a + b }.apply(1, 2)
}

example3 {
  local f = (x, y) -> (z) -> new Dynamic { prop3 = z }
  result = (f) { a, b -> prop1 = a; prop2 = b }.apply(1, 2).apply(3)
}
